Likelihood-based acoustic positioning

ABSTRACT

A positioning system comprising a processing system (7; 9) configured to receive a first position estimate for a mobile device (7), and to receive data representative of an acoustic signal received by the mobile device (7) from one of a plurality of acoustic transmitter units (2, 3, 4, 5). For each of the acoustic transmitter units (2, 3, 4, 5), the processing system (7; 9) determines spatial likelihood data representative of a likelihood of the received acoustic signal having been transmitted by the respective acoustic transmitter unit by comparing a time-of-flight range value with a geometric distance value, representative of a distance between the acoustic transmitter unit and the first position estimate. The processing system (7; 9) processes the spatial likelihood data to identify a subset of the acoustic transmitter units, and processes information relating to the positions of the acoustic transmitter units in the identified subset and/or relating to the acoustic signals transmitted by the acoustic transmitter units in the identified subset, to determine a second position estimate for the mobile device (7).

BACKGROUND OF THE INVENTION

This invention relates to systems and methods for determining theposition of a mobile device.

It is known to use signals, such as ultrasonic signals, to determine theposition of mobile units or tags, in two or three dimensions, bytransmitting acoustic signals from a plurality of acoustic transmitterunits, which may be fixed to the walls or ceilings of a building. Thesignals encode identifiers of the respective transmitters units. Thesesignals are received by the mobile devices, which may be attached toobjects such as people or equipment. If the positions of the acoustictransmitter units are known, then the times at which a mobile devicereceives signals transmitted by the respective transmitter units (i.e.the times of arrival) can be used to estimate the position of the mobiledevice within the environment, using geometric principles relating tothe propagation of the signals—e.g. by solving an equation relating tothe intersection of circles, spheres or hyperboloids.

For example, WO 2019/038542 discloses an acoustic positioning system inwhich a plurality of static transmitter units transmit phase-modulatedultrasonic signatures at regular intervals. The signatures can bereceived by a mobile device and their times of arrival used to estimatethe position of the device using a geometric multilateration process.The position of the mobile device can be displayed on a map or plan ofthe environment.

Positioning using acoustic signals can be beneficial compared with usingspeed-of-light signals, such as radio or infrared, because thespeed-of-sound flight times are much longer and so the timing precisionrequired to measure a time-of-flight (ToF) range with a desired spatialresolution is much lower. However, acoustic signals present challengesin terms of having limited bandwidth and low signal-to-noise ratio(SNR), especially in an indoor environment which will typically containmany surfaces that are highly reflective to sound waves. Thesechallenges mean that it is not always possible to decode an identifieraccurately from a received acoustic positioning signal, resulting inuncertainty as to the source of the acoustic signal—i.e. in the identityof the acoustic transmitter unit that transmitted the received acousticsignal. When there is uncertainty in the identity of the transmitterunit, there will be a corresponding uncertainty in the final positionestimate for the mobile device, since geometric positioning algorithmsare based on knowing the respective source location for each acousticsignal received by the mobile device.

The present invention provides a novel approach that seeks to provideaccurate positioning of a mobile device using acoustic signals.

SUMMARY OF THE INVENTION

From a first aspect, the invention provides a method of determining aposition estimate for a mobile device, the method comprising:

-   -   receiving a first position estimate for a mobile device;    -   receiving an acoustic signal at the mobile device, wherein the        acoustic signal is transmitted by one of a plurality of acoustic        transmitter units that are each transmitting respective acoustic        signals at intervals;    -   for each of the plurality of acoustic transmitter units,        determining spatial likelihood data representative of a        likelihood of the received acoustic signal having been        transmitted by the respective acoustic transmitter unit, by        comparing i) a time-of-flight range value, determined from a        time of arrival of the received acoustic signal at the mobile        device and scheduling data representative of a time of        transmission of an acoustic signal by the respective acoustic        transmitter unit, with ii) a geometric distance value,        representative of a distance between the respective acoustic        transmitter unit and the first position estimate;    -   using the spatial likelihood data to identify a strict subset of        one or more of the plurality of acoustic transmitter units; and    -   using information relating to the positions of the acoustic        transmitter units in the identified subset and/or relating to        the acoustic signals transmitted by the acoustic transmitter        units in the identified subset when determining a second        position estimate for the mobile device.

From a second aspect, the invention provides a positioning systemcomprising a processing system configured:

-   -   to receive a first position estimate for a mobile device;    -   to receive data representative of an acoustic signal received by        the mobile device from one of a plurality of acoustic        transmitter units that are configured to transmit respective        acoustic signals at intervals;    -   for each of the plurality of acoustic transmitter units, to        determine spatial likelihood data representative of a likelihood        of the received acoustic signal having been transmitted by the        respective acoustic transmitter unit by comparing i) a        time-of-flight range value, determined from a time of arrival of        the received acoustic signal at the mobile device and scheduling        data representative of a time of transmission of an acoustic        signal by the respective acoustic transmitter unit, with ii) a        geometric distance value, representative of a distance between        the respective acoustic transmitter unit and the first position        estimate;    -   to process the spatial likelihood data to identify a strict        subset of one or more of the plurality of acoustic transmitter        units; and    -   to process information relating to the positions of the acoustic        transmitter units in the identified subset and/or relating to        the acoustic signals transmitted by the acoustic transmitter        units in the identified subset to determine a second position        estimate for the mobile device.

Some embodiments of the positioning system may further comprise theplurality of acoustic transmitter units. Some embodiments of thepositioning system may further comprise the mobile device.

From further aspects, the invention provides a computer program, and atransitory or non-transitory computer-readable medium storing a computerprogram, comprising instructions that, when executed by a processingsystem, cause the processing system:

-   -   to receive a first position estimate for a mobile device;    -   to receive data representative of an acoustic signal received by        the mobile device from one of a plurality of acoustic        transmitter units that are configured to transmit respective        acoustic signals at intervals;    -   for each of the plurality of acoustic transmitter units, to        determine spatial likelihood data representative of a likelihood        of the received acoustic signal having been transmitted by the        respective acoustic transmitter unit by comparing i) a        time-of-flight range value, determined from a time of arrival of        the received acoustic signal at the mobile device and scheduling        data representative of a time of transmission of an acoustic        signal by the respective acoustic transmitter unit, with ii) a        geometric distance value, representative of a distance between        the respective acoustic transmitter unit and the first position        estimate;    -   to process the spatial likelihood data to identify a strict        subset of one or more of the plurality of acoustic transmitter        units; and    -   to process information relating to the positions of the acoustic        transmitter units in the identified subset and/or relating to        the acoustic signals transmitted by the acoustic transmitter        units in the identified subset to determine a second position        estimate for the mobile device.

The mobile device may comprise the processing system, or the processingsystem may be at least partly distinct from the mobile device, e.g.comprising a remote server.

Thus it will be seen that, in accordance with embodiments of theinvention, an updated position estimate for the mobile device isdetermined, starting from an initial position estimate, by using theinitial position estimate to identify a subset (i.e. a shortlist) ofcandidate transmitter units, and by considering information relating toeach of these candidate transmitter units when calculating the positionestimate. The subset of transmitter units may be identified by assessingfor spatial consistency, across all of the transmitter units, thehypotheses that the received acoustic signal came from a respective oneof the transmitter units. In effect, this can be seen as applying a“spatial filter” to the data relating to the plurality of transmitterunits. By eliminating one or more of the transmitter units from furtherconsideration, the level of uncertainty can be reduced when determiningthe new position estimate, which may therefore result in a positionestimate that is more accurate.

Preferably each acoustic transmitter unit in the identified subset has ahigher likelihood of having transmitted the acoustic signal received bythe mobile device than at least one acoustic transmitter unit, of theplurality of acoustic transmitter units, that is not in the identifiedsubset. This higher likelihood may be determined solely in accordancewith the spatial likelihood data, or in accordance with a combination ofthe spatial likelihood data and other likelihood data, e.g. temporallikelihood data, as described in more detail below.

The processing system is preferably configured to determine the secondposition estimate for the mobile device without further processinginformation relating to the position of any of the acoustic transmitterunits that is not in the identified subset and without furtherprocessing information relating to the acoustic signals transmitted byany of the acoustic transmitter units that is not in the identifiedsubset, after the subset has been identified. In this way, thepositioning process can be particularly efficient.

The first position estimate may be an earlier position estimatedetermined using one or more acoustic signals received by the mobiledevice, or it may be a position estimate determined at least in partusing one or more electromagnetic or magnetic signals received ortransmitted by the mobile device (e.g. one or more Bluetooth LowEnergy™, WiFi™ or GPS signals), or may be a position estimate determinedat least in part using one or more further acoustic signals received ortransmitted by the mobile device (e.g. from a separate acousticpositioning system and/or in a different frequency band from a frequencyband containing the aforesaid acoustic signals). When the first positionestimate is determined using signals other than the acoustic signals,the first position estimate may be relatively inaccurate (e.g. having alarger error margin) compared with the second position estimate.

The comparing of each time-of-flight range value with the geometricdistance value may be done in any appropriate way. It may be a directcomparison, e.g. comprising a subtraction operation. However, in someembodiments, the spatial likelihood data is generated by comparing eachtime-of-flight range value with a respective statistical distribution,representative of likelihood against range, which may have an expectedvalue equal to the geometric distance value for the respective acoustictransmitter unit. Each time-of-flight range may be compared against acommon form of statistical distribution (albeit potentially havingdifferent means and/or variances)—i.e. a distribution defined by acommon equation, which may be parameterised by a mean value and/or avariance value. Each statistical distribution may be skewed or may besymmetrical. Each statistical distribution may be a bell curve. It maybe defined at least in part by a Gaussian function. It may be a normaldistribution, or may be proportional to a normal distribution. Thestatistical distribution may have a standard deviation of between 0 and10 metres. The processing system may be configured to control thevariance parameter of the statistical distribution; it may set thevariance parameter in dependence on any one or more of: thetime-of-flight range value; data representative of an uncertainty in thefirst position estimate; and data representative of a difference betweenthe first position estimate when the first position estimate has beendetermined without using acoustic signals (e.g. determined using radiosignals) and an earlier position estimate determined using one or moreacoustic signals received by the mobile device. In some embodiments, thevariance parameter may be a value greater than 4 metres and may be lessthan 50 metres; such values have been found to give good performance ina typical indoor environment, particularly when the acoustic signals andultrasonic signals and when the first position estimate is determinedusing BLE™ beacons. The statistical distribution may have an integral,over all distances, of one, although this is not essential. It may be aprobability density function, or may be proportional to a probabilitydensity function.

Thus, when performing position estimation in the horizontal plane, someembodiments may effectively centre an annular Gaussian spatial filteraround each candidate transmitter unit, and assign a higher spatiallikelihood to those transmitter units for which the time-of-flightrange, measured from the candidate transmitter unit, is consistent witha position closer to a mean ring of the spatial filter. If the positionestimation is performed in three dimensions, then the correspondingGaussian spatial filter may be regarded as spherical.

The plurality of acoustic transmitter units may all be in the same roomor in the same building or on the same floor or zone of a building. Aselection process may be used to identify the plurality of acoustictransmitter units from a larger set of acoustic transmitter units,before determining the spatial likelihood data. If the mobile device hasalready been determined to be in a particular floor, section or room ofa building, the spatial likelihood data may be determined only for thetransmitter units in that floor, section or room.

In some embodiments, temporal likelihood data is determined for each ofa second plurality of acoustic transmitter units that are configured totransmit acoustic signals at intervals. The second plurality may be thesame as, or overlap with, or be distinct from the first plurality ofacoustic transmitter units. The temporal likelihood data may berepresentative of a likelihood of the received acoustic signal havingbeen transmitted by a respective acoustic transmitter unit based on atime of arrival of the received acoustic signal at the mobile device andon scheduling data representative of a time of transmission of anacoustic signal by the respective acoustic transmitter unit. This canprovide a temporal filter, based on the insight that acoustic signalstypically decay rapidly over time and so will only be detectable for ashort time after they are transmitted. Unlike the spatial likelihoodfilter, this temporal likelihood filter does not require an initialposition estimate. The temporal likelihood data may be generated, foreach acoustic transmitter unit, by comparing the time of arrival againsta respective statistical distribution, which may have a uniform valueover a time window of predetermined duration, starting from the time oftransmission of an acoustic signal by the respective acoustictransmitter unit. The same predetermined duration may be used for all ofthe second plurality of acoustic transmitter units. The statisticaldistribution may further decrease towards zero after the end of the timewindow—e.g. with a linear or Gaussian decline. The statisticaldistribution may be zero for all times prior to the scheduled time oftransmission of the respective transmitter unit; however, to allow forthe possibility of imperfect time synchronisation across the system, thestatistical distribution may instead decrease towards zero backwards intime before the scheduled time of transmission for the respectivetransmitter unit—e.g. with a linear or Gaussian decline. The statisticaldistribution may have an integral, over all time, of one; thus it may beused as a probability density function.

In some embodiments, the second plurality of acoustic transmitter unitsmay include the first plurality of acoustic transmitter units, for whichspatial likelihood data are calculated. The second plurality may be alarger set. In some embodiments, the temporal likelihood data may bedetermined first, and may be used to select the first plurality oftransmitter units as a subset of the second plurality (e.g. a strictsubset). This may provide an efficient filtering process in embodimentsin which the temporal likelihood data requires less processing resourceto determine than the spatial likelihood data. The processing system mayprocess the temporal likelihood data to identify the first plurality asa subset of the second plurality of acoustic transmitter units whereineach acoustic transmitter unit in the identified first plurality has ahigher likelihood (according to the temporal likelihood data) of havingtransmitted the acoustic signal received by the mobile device than atleast one acoustic transmitter unit that is not in the identified firstplurality.

In some embodiments, the temporal likelihood data may be determinedafter the spatial likelihood data is determined. It may be determinedfor each of the strict subset of the first plurality of acoustictransmitter units that is identified using the spatial likelihood data.The processing system may process the temporal likelihood data toidentify a further subset of acoustic transmitter units (which may be astrict subset), wherein each acoustic transmitter unit in the identifiedfurther subset has a higher likelihood (according to the temporallikelihood data) of having transmitted the acoustic signal received bythe mobile device than at least one acoustic transmitter unit that isnot in the identified further subset. The second position estimate maybe determined by processing information relating to the acoustic signalstransmitted by and/or to the positions of the acoustic transmitter unitsin this further subset.

In another set of embodiments, the temporal likelihood data and thespatial likelihood data may be used together to identify the strictsubset of one or more of the plurality of acoustic transmitter units. Insome embodiments, a multiplication operation may be applied to thetemporal likelihood data and the spatial likelihood data to determinedcombined likelihood data, which may be used to identify the strictsubset of one or more of the plurality of acoustic transmitter units.

In any of these embodiments, a subset of the transmitter units may bedetermined by applying a threshold to the relevant likelihood data (e.g.to the spatial likelihood data or to the combined likelihood data).Transmitter units having a likelihood higher than the threshold may beselected for inclusion in the subset, while any below the threshold maybe excluded. Alternatively, a subset may be identified by comparing therelevant likelihood data across the transmitter units—e.g. to select apredetermined number or proportion of the transmitter units forinclusion in the subset, from a highest likelihood downward.

Each acoustic transmitter unit may transmit acoustic signals areintervals, which may be regular—e.g. once every one second. Transmitterunits that in audible range may be configured to transmit in differenttime slots; this can improve the signal-to-noise ratio (SNR) by reducingthe chance of the mobile device simultaneously receiving multiplesignals, from different transmitter units.

In some embodiments, the acoustic signals transmitted by each acoustictransmitter unit encode identification data for the respective acoustictransmitter unit. The identification data does not necessarily uniquelyidentify the transmitter unit across a whole deployment. This is becausethe bandwidth of acoustic signals is very low, and so identifiers mustbe relatively short if the update rate of the positioning system is tobe acceptably high, especially since it may be desirable for. This isespecially true when receiving signals on a smartphone that operates inthe near ultrasound frequency range, where as little as 1 kHz bandwidthmay be available for use. In some embodiments, there may be around tento a hundred different codes in use, but there may potentially bethousands of transmitter units. The identification data transmitter by atransmitter unit may be constant across all of the acoustic signals ittransmits; this can simplify the decoding process.

The processing of information relating to the acoustic signalstransmitted by the identified subset of acoustic transmitter units todetermine a second position estimate may comprise using respectiveidentification data associated with each of the identified subset whendecoding the received acoustic signal. The decoding may be performedwithout using respective identification data associated with any of theacoustic transmitter units that is not in the identified subset. Theprocessing system may comprise a hardware or software decoder which maybe configured to decode the received signal using cross-correlation. Thedecoder may determine respective correlation coefficient data bycross-correlating the data representative of the received acousticsignal with identification data associated with each of the identifiedsubset (but without correlating against identification data associatedwith one or more transmitter units not in the identified subset). Inthis way, the decoding process may be more efficient than if thereceived signal were cross-correlated with every possible identificationdata. The decoding operation is likely to be much more resourceintensive than the spatial and temporal filtering steps, and so usingthe spatial and/or temporal filtering to reduce the amount of decodingeffort required can significantly improve the efficiency of the positiondetermination process overall.

The positioning system may comprise a decoder configured to identifyexactly one of the acoustic transmitter units as the source of thereceived acoustic signal. However, in some embodiments, the decoder maygenerate decoding likelihood data for each of a plurality of theacoustic transmitter units (e.g. for all of the identified subset oftransmitter units) representative of a likelihood of the receivedacoustic signal having been transmitted by the respective acoustictransmitter unit. This likelihood data may be determined fromcorrelation coefficient data output by a correlator.

The second position estimate may be determined by solving a geometricoptimisation problem involving the positions of one or more of theacoustic transmitter units—e.g. a minimisation problem forover-specified spherical or hyperbolic intersections. The optimisationproblem may be weighted using the spatial likelihood data, temporallikelihood data and/or decoding likelihood data.

In some embodiments, a new position estimate is determined for each newacoustic signal received by the mobile device. Data obtained frompreviously-received acoustic signals (e.g. time-of-flight range data)may be used when solving the optimisation problem. The processing systemmay store, for a plurality of acoustic transmitter units, a most-recenttime-of-flight range value received from the respective acoustictransmitter unit. The processing system may use these values, along withinformation relating to the latest-received acoustic signal, whendetermining the second position estimate. If the decoder identifies asingle source transmitter for each received acoustic signal, then theposition of the respective source transmitter unit may be used fordetermining the second position estimate. If the decoder generatesdecoding likelihood data for a plurality of candidate transmitter units,the decoding likelihood data may be used when determining the secondposition estimate.

The scheduling data may be pre-programmed in the mobile device, or maybe received by the mobile device from a remote device—e.g. over a radiocommunication channel. The scheduling data for an acoustic transmitterunit may represent a time of transmission of a most recent acousticsignal transmitted by the respective acoustic transmitter unit. Theacoustic signals transmitted by each transmitter unit may be spacedapart in time and/or may be of an amplitude such that the mobile devicecannot detect an earlier signal after a later signal has beentransmitted by the same transmitter unit; e.g. the signals may betransmitted once every one second, but may decay to inaudible levelsafter around 80 ms. Thus, in such embodiments, only the latest signalfrom any particular transmitter unit need be considered when determiningthe time-of-flight range value, e.g. by subtracting the time of arrivalfrom the time of most recent transmission.

The acoustic transmitter units and the mobile device may each comprise arespective clock. The clocks may be synchronised so that an accuratetime-of-flight range value may be determined by subtracting thescheduled time of transmission of an acoustic signal, according to aclock of the relevant acoustic transmitter unit, from the time ofarrival of the acoustic signal, measured by a clock on the mobiledevice.

The geometric distance value may be determined as a straight-linedistance between a position of an acoustic transmitter unit (which bestored as position data accessible to the processing system) and thefirst position estimate. It may be determined in one dimension (e.g.along only an X axis), two dimensions (e.g. considering horizontal X-Yplane coordinates only) or in three dimensions.

In some embodiments, the first position estimate is determined at leastin part using one or more electromagnetic signals (e.g. radio orinfrared signals) or one or more further acoustic signals (e.g. in adifferent frequency range from the first acoustic signals used todetermine the spatial likelihood data)—e.g. using data relating to theamplitude and/or arrival time of an electromagnetic signal received ortransmitted by the mobile device. The electromagnetic signal(s) may betransmitted by, or received by, one or more electromagnetic transmitteror receiver units—e.g. Bluetooth™ nodes or beacons. In some embodiments,one or more—and optionally all—of the acoustic transmitter units arealso electromagnetic transmitter or receiver units. This may makeinstallation more convenient.

The processing system may be configured to determine, for eachelectromagnetic transmitter or receiver unit, a range estimate based onrespective received signal strength (RSS) information for one or moreelectromagnetic signals sent between the transmitter or receiver unitand the mobile device. When using a plurality of such signals, which maybe received at intervals over a time window, the processing system maydetermine a weighted average of the received signal strengthinformation, with a newer and/or a stronger RSS value weighted higherthan an older and/or weaker RSS value.

The first position estimate may be received from outside the processingsystem—e.g. over a network connection from a separate processingsystem—or it may be generated by the processing system (i.e. such thatit is received internally within the processing system). The processingsystem may calculate the first position estimate using position datarelating to the positions of one or more electromagnetic transmitter orreceiver units—e.g. coordinates in one, two or three dimensions. It maydetermine the first position estimate as the centroid of a set ofelectromagnetic transmitter or receiver units with which the mobiledevice has exchanged an electromagnetic signal, wherein each of theelectromagnetic transmitter or receiver units may be assigned a weightcorresponding to received signal strength information for thattransmitter or receiver unit—e.g. a weight equal to the weighted averageof the received signal strength information for the transmitter orreceiver unit.

The processing system may be configured to determine a series of two ormore position estimates over time, by processing acoustic signalsreceived by the mobile device. The position estimates may be determinedat regular intervals, e.g. every one second. Each position estimate maybe determined from a respective set of acoustic signals; these sets maybe non-overlapping, e.g. by being calculated using information relatingonly to a most recent acoustic signal received from each transmitterunit. Spatial likelihood data may be determined for each successiveposition estimate. Each successive position estimate may be determinedusing a geometric distance value, representative of a distance between arespective acoustic transmitter unit and the immediately precedingposition estimate in the series of the position estimates. However, theprocessing system may be configured to compare, at intervals, theposition estimates determined using acoustic signals against one or moreposition estimates determined using electromagnetic signals (e.g. laterBLE-derived signals). It may detect if an inconsistency arises—e.g. ifthe acoustic-based position estimate lies outside an error ellipsedefined around the latest electromagnetic-based position estimate.

The processing system may thus also determine a series of positionestimates over time using information relating to electromagnetic ormagnetic signals transmitted or received by the mobile device—e.g. fromBLE™ beacon signals received by the mobile device. The aforesaid “firstposition estimate” may be a most recent position estimate in such aseries. These electromagnetic-based position estimates may be determinedat intervals—e.g. once, twice or three times every five seconds. Theymay be determined in parallel—i.e. over a common time period—withdetermining the acoustic-based position estimates. They may be used toverify the acoustic-based position estimates by the calculation ofspatial likelihood data as disclosed herein.

The acoustic transmitter units and/or the mobile device may bebattery-powered. This can simplify installation.

Each position estimate may be determined in one dimension, twodimensions or three dimensions. The second position estimate may bestored or output or processed further. It may be input to a Kalmanfilter.

References to distances and ranges herein may refer to line-of-sightdistances, or they may refer to total path lengths e.g. in situationswhere there is reflection or diffraction.

The processing system may comprise processing circuitry and/or one ormore processors and memory storing software for execution by the one ormore processors. The processing circuitry and/or software may implementany of the features disclosed herein.

The mobile unit may comprise some or all of the processing system. Thismay be particularly appropriate when the mobile unit has a displayscreen and powerful processor, for example if it is a smartphone. Insuch embodiments, the mobile unit may be arranged to calculate and storeits own position estimate or estimates. This may avoid the need tocommunicate data from the mobile unit to be processed elsewhere—e.g., ona remote server.

However, in one set of embodiments, one or more of the transmitter unitsmay comprise some or all of the processing system, while in another setof embodiments, some or all of the processing system may be external toboth the mobile unit and the transmitter units—e.g. comprising one ormore external servers. This may be advantageous in reducing theprocessing requirement on the mobile unit, which can reduce its cost andpower consumption, even after accounting for the need to transmit datafrom the mobile unit (e.g., by radio). This may be helpful when themobile unit is battery powered, e.g. being an asset tag. The processingsystem may be split across multiple processors or multiple locations, orboth. The mobile unit may be configured to transmit data representativeof the received locating signals, or information derived therefrom, to aremote processing unit. The mobile unit and/or a transmitter unit maycomprise a wired or wireless transmitter, such as a radio transmitter,for transmitting information relating to a received or transmittedsignal.

In some embodiments, the mobile unit may comprise only some parts, oreven none, of the processing system while other parts of the processingsystem—e.g., elements configured to use a time of arrival and decodedtransmitter-unit identifier to determine the range data representativeof a distance to the mobile unit—may reside in one or more other units,such as on a remote computer or server. The mobile unit may comprise aradio, optical, or other transmitter—e.g., a Bluetooth™, WiFi™ orcellular network transmitter. It may use the transmitter to transmitdata relating to the received signals, such as an audio file, or digitalsamples, or processed data, to a remote processing unit.

In some embodiments, the mobile unit comprises a processor and adisplay. It may be a mobile telephone (cellphone) or smartphone ortablet or other portable computing device. Alternatively, it may be anasset tag without any complex graphical user interface.

Each acoustic transmitter unit may comprise a radio antenna,light-emitting element (which may emit infrared or visible light),acoustic transducer, or other appropriate means of transmitting thelocating signals. It may comprise appropriate circuitry for driving orcontrolling the transmission, such as a DAC, an amplifier, etc. In apreferred set of embodiments, each acoustic transmitter unit comprisesat least one ultrasound transducer for generating ultrasonic signals.The transmitter units may emit the locating signals at regularintervals, e.g. once every second. The transmitter units may be mobile,but in some embodiments they are static—e.g. fastened to walls orceilings. They may be beacons.

The mobile unit may comprise a radio antenna, light-receiving element(for receiving infrared or visible light), acoustic microphone, or otherappropriate means of receiving the locating signals. It may compriseappropriate circuitry for controlling the reception, such as anamplifier, an ADC, etc. It may sample received acoustic signals. In apreferred set of embodiments, the mobile receiver comprises at least oneultrasound transducer for receiving ultrasonic signals.

The processing system and/or each acoustic transmitter unit and/or eachelectromagnetic transmitter or receiver unit and/or the mobile unit maycomprise any one or more of processors, DSPs, ASICs, FPGAs for carryingout the described steps. It may comprise memory for storing data and/orfor storing software instructions to be executed by a processor, DSP orFPGA. It may comprise any other appropriate analogue or digitalcomponents, including power supplies, oscillators, ADCs, DACs, RAM,flash memory, network interfaces, user interfaces, etc. It may be asingle unit or may comprise a plurality of processing units, which maybe arranged to communicate by one or more wired or wireless links.

The processing system may further comprise data storage and/or a displayand/or a data connection, and may be configured to store and/or displayand/or communicate electronically information relating to the estimatedposition of the mobile unit. The system may, for example, be arranged toindicate the position of the mobile unit on a map or plan of a buildingor the environment.

The system may comprise a radio transmitter arranged to transmit timinginformation to the acoustic transmitter units and/or the mobile unit.The transmitter units and mobile unit may be synchronised so that timeof arrival information can be used for positioning, instead of timedifference of arrival. This may require fewer transmitter units to be inrange of the mobile unit for accurate positioning.

Features of any aspect or embodiment described herein may, whereverappropriate, be applied to any other aspect or embodiment describedherein. Where reference is made to different embodiments or sets ofembodiments, it should be understood that these are not necessarilydistinct but may overlap.

BRIEF DESCRIPTION OF THE DRAWINGS

Certain preferred embodiments of the invention will now be described, byway of example only, with reference to the accompanying drawings, inwhich:

FIG. 1 is a perspective diagram of a positioning system embodying theinvention;

FIG. 2 is a schematic drawing of a static transmitter unit and a mobiledevice for use in the positioning system; and

FIG. 3 is a flow chart of operations carried out by the mobile deviceand/or the server to estimate the position of the mobile device.

DETAILED DESCRIPTION

FIG. 1 shows elements of a positioning system that may be used in, forexample, a shopping mall in order to determine the locations of shopperswithin the shopping mall. Of course, this is just one exampleenvironment, and the positioning system could also be used inwarehouses, hospitals, domestic homes, vehicles, etc.

FIG. 1 shows a room 1 defined by a horizontal floor 1 a, a rear wall 1b, a left end wall 1 c, a right end wall 1 d and a front wall 1 e. Otherdetails, such as doors, furniture, etc. are omitted for simplicity. Fourstatic transmitter units 2, 3, 4, 5 are fastened to the walls 1 b, 1 c,1 d, 1 e of the room.

A person 6 in the room is carrying a mobile device 7, such as a smartphone. A network cable 8 connects each transmitter unit 2-5 to a server9, which is typically located in another room or in another building oroff site. Alternatively the transmitter units 2-5 could be connectedwirelessly, e.g. over a WiFi network. These components cooperate toprovide a positioning system, capable of estimating the position of themobile device 7 in up to three dimensions—e.g. as an (x, y, z)coordinate—within the room 1. In practice, the system may have furthersimilar transmitter units installed throughout a building or series ofrooms, and a plurality of mobile devices attached to, carried by, orincorporated into people, animals, vehicles, robots, stock, equipment,etc.

FIG. 2 shows a representative one 2 of the transmitter units, and amobile device 7. The transmitter unit 2 has an ultrasonic sounder 201, acontroller 202 for causing the ultrasound transducer 201 to transmitultrasonic signals, and battery 203 for supplying power to thetransmitter unit. It also contains a radio antenna 208 and circuitry inthe controller 202 for transmitting (and optionally receiving) BluetoothLow Energy™ (BLE) radio signals. The other transmitter units 3, 4, 5 aresimilarly configured. The mobile device 7 has a microphone 204 capableof receiving ultrasonic signals from the transmitter units 2-5, acontroller 205 for sampling and processing the received ultrasonicsignals, a radio antenna 209 for transmitting and receiving BLE signals,and a battery 207 for powering the mobile device 7. The transmitterunits 2-5 and mobile device 7 may have further standard electroniccomponents such as further radio transceivers, wired-network interfaces,display screens, batteries, buttons, etc. In some embodiments, themobile device 7 is a tablet or mobile telephone (cellphone) such as anApple™ or Android™ smart phone.

Although this description relates to measuring the time of flight ofultrasound signals, it should be appreciate that the use of ultrasoundis not essential and other embodiments may instead transmit locatingsignals that are audible acoustic signals or that are electromagneticsignals such as infrared signals or radio signals.

The controllers 202, 205 may include one or more processors, DSPs, ASICsand/or FPGAs. They may include memory for storing data and/or forstoring software instructions to be executed by a processor or DSP. Theymay include any other appropriate analogue or digital components,including amplifiers, oscillators, filters, ADCs, DACs, RAM, flashmemory, etc.

Although the transmitter units 2-5 are here shown as being staticrelative to the environment 1, it will be appreciated that, in otherembodiments, they may be mobile—e.g., one or more of the transmitterunits could be a respective mobile telephone or device in the possessionof a respective user.

In use, each transmitter unit 2-5 transmits, at intervals (e.g. everyone second), an ultrasonic locating signal comprising a signatureassociated with that transmitter unit. The transmissions may becoordinated, e.g. by the server 9, to help reduce interference betweennearby transmitter units. The transmission schedule for each transmitterunit 2-5 is published by the server 9, so that a processing system, suchas the mobile device 7, can determine the times of transmissions of theultrasonic signals by each transmitter unit 2-5. If each transmitterunit 2-5 transmits at regular intervals, then the schedule may comprisean offset value for each transmitter unit 2-5. This may be encoded as atime slot identifier. In some embodiments, each transmitter unit 2-5 maytransmit a 12 ms long ultrasonic signal every 1,000 ms, in an allocatedone of 16 non-overlapping time slots, each of approximately 60 msduration. In a room 1 containing only four transmitter units 2-5, eachunit can be allocated a unique time slot, but in larger rooms, or acrossa wider area, it will be necessary to allocate the same time slot tomultiple transmitter units. Ideally, time slots are shared only betweentransmitter units that are far apart, so the mobile unit 7 is unlikelyto be in audible range of both at the same time.

In general, the ultrasonic signal from a transmitter unit 2-5 will decayso as to be practically undetectable by the mobile unit 7 after about 80ms from transmission (corresponding to a distance of 27 metres).Therefore, the time of arrival of a signal, relative to an expectedtransmission time slot, may be used to help identify the sourcetransmitter unit for the signal, as described in more detail below.

Each signature is encoded on an ultrasonic carrier—e.g., a 20 kHz or 40kHz carrier. The signature may be encoded using any appropriatefrequency-shift or phase-shift encoding, but in one set of embodiments,the signature of each transmitter unit 2-5 comprises a respective binaryidentifier encoded using frequency-shift-keying (FSK) modulation. Thesignature may be contained in a longer transmission that comprises oneor more additional elements, such as a fixed preamble and/or a variabledata portion, which may be encoded in the same ultrasonic carrier bandas the signature.

The low bandwidth of ultrasonic communication constrains the maximumbit-length that can be used in the signatures while still providing anacceptable update rate (e.g. once a second). Therefore, in a largedeployment, the ultrasonic signatures may also be unique only within alocality, with the same signature being allocated to multipletransmitter units across the system. As with the time slots, ideallysignatures are shared only between transmitter units that are far apart,so the mobile unit 7 is unlikely to be in audible range of both at thesame time.

The mobile device 7 receives and demodulates the ultrasound signals toidentify signatures that have been transmitted by transmitter units 2-5within audible range of the device 7. However, due to noise andinterference, this decoding will not always be reliable.

The mobile device 7 uses an internal clock to timestamp receivedsignatures, representing a time of arrival for each signal. The mobiledevice 7 may be synchronised with each of the transmitter units 2-5 (andoptionally with the server 9) and can therefore calculate at least onetime of flight (ToF) value for each signature it receives by accessingscheduling data representative of a time of transmission of an acousticsignal by a respective acoustic transmitter unit and subtracting thetime of arrival from the time of transmission. The scheduling data maybe provided to the mobile device 7 by the server 9, e.g. over a radiocommunication link. By combining three or more TOF measurements fromknown transmitter locations, the position of the mobile device 7 can bedetermined using geometric principles of trilateration (also referred toas multilateration). The clock synchronisation may be carried out usinga radio channel, such as a Bluetooth Low Energy™ connection, or in anyother suitable way.

In other embodiments, the mobile device 7 is not synchronised with thetransmitters 2-5, and instead a time difference of flight (TDoF) methodmay be used to determine the position of the device 7. In this case,more transmitter units may have to be in range of the mobile device 7for an accurate position estimate to be determined.

The position of the device 7 may be estimated in three dimensions (e.g.,as an <x, y, z> Cartesian coordinates relative to a reference frame ofthe room 1 or building), or in two dimensions (e.g., <x, y> in ahorizontal plane only), or in one dimension (e.g. as a distance, x,along a corridor). The position determination calculations may beperformed on the mobile device 7, or the device 7 may send informationabout the received signals, such as timing and/or range data, to theserver 9, which may perform part or all of the calculations describedherein.

The mobile device 7 will typically receive the same acoustic signal froma transmitter unit 2-5 along a direct path (assuming there is a clearline of sight) and also along one or more indirect paths, afterreflection off one or more surfaces in the environment. These multipleinstances of the same transmitted signal may arrive overlapped in time.This can present a challenge when decoding the signature accurately. Thestrength of the instances received along the indirect (reflected)signals will typically be lower than the strength of the direct-pathsignal, although this is not necessarily always the case (e.g., if amicrophone on the device 7 is angled towards a highly reflective surfacesuch as a glass window pane). The device 7 may use signal strength tohelp identify direct-path signals, for use in a position-determiningalgorithm.

The times of flight of received direct-path signals can be input to amultilateration positioning algorithm. In some embodiments, the times offlight of any reflections (echoes) are disregarded in the geometric fitprocess, although the reflected signals may in some embodiments be usedto assist in decoding a received direct-path signature. However, inother embodiments, the times of arrival of reflections may also be usedwhen determining geometric information about the position of the device7. Such embodiments may make use of known locations of major reflectivesurfaces in the environment. Techniques involving real and virtualtransmitter locations, which may be employed in such embodiments, aredisclosed in WO 2018/162885, filed 5 Mar. 2018, the contents of whichare hereby incorporated by reference. The location of the mobile device7 may, in some embodiments, be estimated at least in part by estimatingan impulse response function from multiple instances of one locatingsignal, received along a plurality of paths, each instance arriving at adifferent respective time.

Doppler shift occurs whenever the mobile device 7 is moving towards oraway from one or more of the transmitters units 2-5. The positioningsystem may therefore include a Doppler-shift compensation mechanism toenable accurate decoding of the transmitted signatures.

Although processing steps are, for simplicity, described herein as beingcarried out by the mobile device 7, it should be understood that, insome embodiments, some or all of these steps may instead be carried outby the server 9, where appropriate. Data, including intermediateresults, may be communicated between the device 7 and the server 9 byany appropriate means, such as via a Bluetooth™, WiFi™, IEEE 802.15.4,or cellular radio link, using a suitable local gateway or remote basestation. The server 9 may be a single physical device, or may be adistributed (e.g. cloud) server system. It may be in the same building,on or the same site, as the room 1 or remote from it—e.g. in a remotedata centre accessed over the Internet.

Because the decoding of a received signature to identify the sourcetransmitter unit 2-5 is not always reliable, there may be significantambiguity as to the identity of the source of a signal received by themobile device 7. Further ambiguity is introduced when the same time slotand/or acoustic signature has to be allocated to more than onetransmitter unit across the system.

However, the mobile device 7 performs operations to mitigate thisambiguity before it inputs the timing or range information determinedfrom a received signal to a positioning algorithm. This filtering mayidentify a single most probable source transmitter unit 2-5 for eachreceived signal. Alternatively, the filtering may identify a strictsubset of all the transmitter units in system and may pass data relatingto this subset of the transmitter units to the positioning algorithm, tobe used when calculating a positioning estimate for the mobile device 7.

The filtering may take account of various factors, including:

-   -   consistency between the time of arrival of the signal and the        latest transmission times of respective transmitter units, based        on a signal decay model (referred to herein as “temporal        filtering”);    -   consistency between the time-of-flight ranges to respective        transmitter units, and the geometric distances to the respective        transmitter units calculated using an earlier position estimate        (referred to herein as “spatial filtering”);    -   confidence in the decoded signature equalling the signatures of        respective transmitter units (referred to herein as “decoding        filtering”).

This earlier position estimate may be an earlier estimate determinedfrom a set of ultrasonic signals received from the transmitter units2-5, or it may be a position estimate determined by a differentmechanism. Thus, in some embodiments, each of the transmitter units 2-5also transmits Bluetooth Low Energy™ (BLE) radio beacon signals atregular intervals. The mobile device 7 can use Bluetooth™ radio signalsfrom the transmitter units 2-5 to determine an initial position estimatefor the mobile device 7 using suitable processing, such as by measuringreceived signal strength indicators (RSSI), optionally also takingaccount of RF time-of-flight measurements.

In other embodiments, the BLE beacon transmitters could be physicallyseparate from the transmitter units 2-5, or the initial positionestimate could be determined using WiFi, NFC, UWB, GPS, cellular orinfrared positioning, or any other location technology.

The radio positioning system may be able to determine a locationestimate with an accuracy of around 10-15 metres (at least in twohorizontal dimensions), and a latency of no more than 10-15 seconds(corresponding to a typical human walking speed of around 1 m/s). Whenusing BLE beacons, these may be deployed at a density of approximatelyone beacon per 25-150 m². Given a typical distance between beacons of5-12 m, this can give a positioning accuracy of approximately 3-15 m anda relatively low latency of under 10 s. An important requirement for theradio positioning algorithm may not necessarily be high accuracy butrather delivering a robust conservative initial estimate of the positionof the mobile device 7, which is well inside the area enclosed by theultrasonic transmitter units 2-5.

In other embodiments, rather than receiving the positioning signals fromthe infrastructure, the mobile device 7 may transmit positioningsignals—e.g. radio signals—to be received by static receiver units(which could be the same units 2-5). An initial position estimate couldeven be received from a human user, e.g. through a graphical userinterface on the mobile device 7 that allows the user to identify hislocation on a map.

A large-scale spatial location (which building, floor, etc.) may bedetermined using the same signal or may be arrived at using GPS signalsduring an outdoor to indoor transition or in any other appropriate way.If the mobile device 7 is already known to be on a particular floor, itmay be sufficient to determine subsequent position estimates in only twohorizontal dimensions. Also, references herein to all the transmitterunits in the system may refer to all those transmitter units that are ina particular zone, such as a particular building or floor, if the mobiledevice 7 has already been localised to this zone.

A very first position estimate may be determined using, e.g. radiobeacons, after which a time series of two or more position estimates maybe determined using ultrasonic signals, with the spatial filtering foreach subsequent ultrasonic-determined position estimate using theimmediately preceding ultrasonic-determined position estimate.

However, the device may continue obtaining updated BLE-based positionestimates at intervals (e.g. once, twice or three times every fiveseconds), even while performing ultrasonic-based tracking in which thespatial filtering being based on the preceding ultrasound-based positionestimate (e.g. with one new position estimate being calculated every onesecond). In this way, the BLE position estimates can be used to checkthe accuracy of each ultrasound-based position estimate, and a recentBLE position estimate will be available to re-initialise the spatialfiltering if the position estimation becomes inaccurate.

The filtering may be performed as a single step, or in multiple stageswith each stage potentially reducing the number of transmitter units ina candidate set of source transmitter units for a particular receivedsignal. In particular, the decoding of the signature may be performedafter temporal and/or spatial filtering have been carried out, sincethis can efficiently reduce the time and/or energy required for thedecoding process, which may be relatively resource intensive.

FIG. 3 is a flow chart providing an overview of key operations carriedout by the mobile device 7 when generating a time series of positionestimates. In other embodiments, some or all of these operations may beperformed on the server 9.

The mobile device 7 is here assumed already to have been provided withtransmission schedules for all the transmitter units in the system,including the transmitter units 2-5 in the room 1, and to have beensynchronised with the transmitter units, e.g. by exchanging time-stampedwith the server 9 via one or more radio relays (e.g. via BLEtransceivers built into the transmitter units 2-5). It also has accessto location coordinates for each transmitter unit in the system, in twoor three dimensions.

First, BLE beacon signals (e.g. transmitted by the transmitter units2-5) are used to determine 300 an initial position estimate. This mayhave an accuracy only in the order of metres, whereas the system aims totrack the mobile device 7 with an accuracy in the order of centimetresor better. A new BLE position estimate may be calculated whenever themobile device 7 is first turned on, or if it ceases to receive anyultrasonic signals for a time, or if confidence in the series ofposition estimates falls below a minimum threshold.

One approach to generating the initial BLE-based position estimate is tohave each BLE beacon (which may be a transmitter unit 2-5, or which maybe separate therefrom) transmit three BLE signals per second on theadvertising channels with a random timing of its transmit to avoidcollisions. The RF beacon signal contains a globally unique identifierfor the beacon that the controller 205 in the mobile device 7 can use toidentify the beacon from which it is sent. The mobile device 7 scans forthese signals with a duty cycle of approximately 50% or 60%, to conservepower, and an on/off periodicity of 10 s or less.

However, at start-up of a positioning session, e.g. of a smartphone 7, arelatively reliable (although not necessarily high-resolution) positionestimate r_mobile is required. For this reason, the duty cycling of theBLE receive may be disabled for the first 60 seconds of a session. Areliable initial position estimate r_mobile_BLE is typically determinedfrom received BLE signals after a couple of seconds (i.e. after morethan five to ten BLE beacons are received).

To do this, the mobile device 7 processes each received BLE signal inthe following way:

-   -   on receipt, the mobile device 7 registers a timestamp of receipt        and a received signal strength (RSS) of the signal from each        beacon within range;    -   for each unique beacon ID, the controller 205 maintains a buffer        with a time window that has a length that is of the order of the        on/off periodicity (<10 s);    -   typically every second the controller 205 calculates a weighted        average “range” estimate between the BLE beacon and the mobile        device 7 by:        -   first calculating a RSS_derived_range value that is inspired            from a typical channel model for RSS in an indoor            environment: RSS_derived_range=(RSS/RSS_0) −p, where RSS_0            is the RSS of the signal transmitted at one metre (this            value is normalised for in the method below), the power p            depends on the environment and can be found from            observations, typically being in the range 1-3        -   weighting each RSS_derived_range in the buffer is weighted            with a weight that decreases linearly from 1 to 0 depending            on how close it is to expiring in relation to the time            window length, and is also weighted with a weight that scale            with (RSS)⁻² for each measurement in the buffer, to arrive            at a weighted average_RSS_derived_range value for each BLE            beacon that is dominated by high RSS observations; this            ensures that destructive interference effects have little            effect on the range estimate.

Note that the average_RSS_derived_range value may not actually be anaccurate estimate of the true geometric range between the BLE beacon 2-5and the mobile device 7; it is nevertheless still useful for crudelyestimating the position of the mobile device 7 based on the RSSmeasurements.

To calculate a BLE-based estimate of the mobile device position, thecontroller 205 calculates a weighted average beacon position vector,r_mobile_BLE using the beacon position vector r_BLE_(i) and the weight(average_RSS_derived_range_(i))⁻¹, where i indexes the BLE beacons, asfollows:

${r\_{mobile}\_{BLE}} = {\frac{1}{N}{\sum\limits_{i}{{average}\_{RSS}\_{derived}\_{{range}_{i}^{- 1}.r}\_{BLE}_{i}}}}$

where N is the total number of BLE beacons from which the mobile device7 has received BLE signals during the time window.

A measure of the BLE position spread is also calculated in eachdimension (e.g. along orthogonal x, y, z axes when working in threedimensions):

${r_{k -}{mobile}\_{BLE}\_{spread}} = {\frac{1}{N}{\sum\limits_{i}{{average}\_{RSS}\_{derived}\_{{range}_{i}^{- 1}.{\left( {{r_{k -}{BLE}_{i}} - {r_{k -}{mobile}\_{BLE}}} \right.}}e_{k}}}}$

where k indexes the dimensions (e.g. k=1,2,3, for three dimensions), ande_(k) is the standard Euclidean basis.

New BLE position estimates and spreads may be determined at regular orirregular intervals, e.g. every 1-5 seconds, even as the acousticsignals are processed.

Incoming audio received at the microphone 204 is sampled and analysed todetect 301 an incoming ultrasonic locating signal from one of thetransmitter units. This may involve a down-mixing process, usinganalogue and/or digital mixing techniques, to generate a stream ofcomplex IQ baseband samples. The received signal may be criticallysampled—i.e. at a sample rate close to the Nyquist frequency for thetransmitted signatures. The received signature is detected by anappropriate technique; this could involve cross-correlation againsttemplate data, or using a deconvolution process, but in some embodimentsit uses a sliding energy detector that simply detects burst of energy of12 ms duration around the carrier frequency (regardless of the encodedcontent).

A time of arrival of the received signature is determined 302. Thetiming may be determined relative to the start of the detected energywindow signal. In some embodiments, this may be an initial time ofarrival estimate, and a more accurate time of arrival may be determinedlater on in the process, e.g. using a correlator after the signature hasbeen decoded.

A temporal filtering step 303 is then performed to identify a firstshortlist of candidate transmitter units for the received signal, basedon the time of arrival and the known transmission schedules of all thetransmitter units in the system.

In one embodiment, every second is divided into sixteen time slots, andeach transmitter unit transmits is allocated one of the sixteen timeslots, at the start of which it transmits its 12 ms long locationsignature, encoding its respective transmitter-unit identifier,repeating every second. The transmission power, receiver sensitivity,and environmental acoustics may be such that each signal will have fadedto an undetectable level within two time slots after it is transmitted.The temporal filtering can therefore simply exclude all transmitterunits in the system that did not have a transmission scheduled withinone of the two times slots preceding the time of arrival. But anotherway, the controller 205 selects, for inclusion in the first shortlist,all those transmitter units across the system that were scheduled totransmit within the preceding two time slots (i.e. up to 120 ms beforethe time of arrival, depending on how the time of arrival is locatedrelative to the time slots). Alternatively or additionally, a morecomplex likelihood value may be calculated and used in this step, e.g.the P_time_(i) value disclosed below, to which a threshold may beapplied to filter out unlikely transmitter units, for example athreshold in the range 5-90%.

A spatial filtering step 304 is then applied to the first shortlist oftransmitter units, to obtain a reduced shortlist. This step makes use ofthe initial position estimate which, although not necessarily veryaccurate (because it was determined using an inherently less accuratepositioning method such as BLE beacons, or because some time has elapsedsince it was calculated during which the mobile device 7 may havemoved), can nevertheless provide sufficient information to usefullyrestrict the pool of likely transmitter units that may be the origin ofthe positioning signal received by the mobile device 7.

The controller 205 considers each transmitter unit, i, on the firstshortlist in turn. For each candidate transmitter unit, it subtracts thetime of the most recent transmission by that transmitter unit from thetime of arrival to determine a time of flight. (Earlier transmissions bythe same unit will have long since decayed, assuming transmissions aremade on a one-second cycle.) From this, a time-of-flight range value,R_tof_(i), can be calculated by multiplying by the speed of soundthrough air. A thermometer may be used to adjust a default speed valuebased on the ambient temperature. Additionally, the controller 205calculates the straight-line distance R_geo_(i) (in one, two or threedimensions, as appropriate) between the known location of the respectivetransmitter unit and the initial position estimate asR_geo_(i)=|r_mobile−r_tx_(i)|, where r_mobile is the initial positionestimate, which may be a latest BLE-derived position estimater_mobile_BLE, or a latest ultrasound-derived position estimater_mobile_US, and r_tx_(i) is the position vector of the respectivetransmitter unit, i.

The controller 205 uses these values to calculate a spatial likelihoodvalue, P_spatial_(i), for each of the candidate transmitter units, basedon the error normalized by the expected variance:

${P\_{spatial}_{i}} = e^{- \frac{{({{R\_{geo}_{i}} - {R\_{tof}_{i}}})}^{2}}{{var}\_{eff}}}$

where var_eff is a value representative of an estimate of the varianceof the error between the geometric distance, R_geo, and the ToF deriveddistance, R_tof.

This var_eff value may be calculated in any appropriate way. It maysimply be a fixed constant value (e.g. 4 m²) or it may depend on one ormore factors, such as any of:

-   -   R_tot;    -   the spread in the r_mobile position estimate (e.g.        r_(k)_mobile_BLE_spread as defined above, when r_mobile is a        BLE-based estimate, r_mobile_BLE); and    -   if a previous ultrasound-based position estimate is also        available, the error between the previous ultrasound-based        position estimate and the latest BLE-based position estimate.

In general, the standard deviation varies between 0 and 10 metres (e.g.typically being between 1 m and 10 m), so var_eff may vary between 0 and100 m².

In one example, the variance parameter var_eff is set equal to 4 m² ifr_mobile is an ultrasound-derived position estimate, r_mobile_US, thatis less than three seconds old, and if r_mobile lies within an errorellipse around r_mobile_BLE defined by three times r_mobile_BLE_spreadin each dimension; and is set equal to the lower or 49 m² and0.7×(r_mobile_US−r_mobile_BLE)² in other cases.

P_spatial is a Gaussian function. The exponent and/or exponential termmay optionally be further scaled to define P_spatial as a normaldistribution, to be a true probability density function; however, thismay not be necessary in some embodiments since the P_spatial likelihoodvalues for the transmitter units can still indicate relative likelihoodeven if they do not sum up to one.

The value of P_spatial_(i) for each transmitter unit i in the firstshortlist is then compared against a threshold value and thosetransmitter units that have a P_spatial value below the threshold arefiltered out, leaving a potentially reduced shortlist of candidatetransmitter units. In some embodiments, a more complex selectioncriterion may be used, e.g. to additionally filter out at least aminimum percentage of the transmitter units having the lowest P_spatialvalues.

In some embodiments, the temporal filing 303 and spatial filtering 304may involve a combined filtering step, optionally in addition toindividual filtering, or instead. This combined filtering may comprisecalculating a temporal likelihood value, P_time_(i), representing alikelihood of each transmitter unit i in the system being the sourcetransmitter unit, based on the time of arrival and the most recentscheduled transmission from that transmitter unit, and by then applyinga minimum threshold to the product P_time_(i)×P_spatial_(i) to identifya shortlist of candidate transmitter units.

The value P_time_(i) may be calculated using a rectangular window of 60ms duration, with additional symmetric Gaussian tails on both ends; thestart of the rectangle may be positioned at the schedule transmissionstart time for the transmitter unit i, with the value P_time_(i) beingequal to the value of the windowing function at the time of arrival.

In this way, P_time_(i) is at a maximum if the signal is received within60 ms of its scheduled transmission, and is lower if the signal isreceived early (possible if there is a clock synchronisation error), orlater than this. Of course, a value other than 60 ms may be used, or theP_time function may be defined in any other appropriate way. It may bescaled to be a probability density function (i.e. integrating to one)although this may not be necessary.

The temporal and spatial filtering may be configured always to identifya single most likely transmitter unit, or they may be configured tooutput a set of likely transmitter units which may contain more than onetransmitter unit.

The controller 205 in the mobile device 7 then passes data for thereduced shortlist of candidate transmitter units to a decoder algorithmto applying decoding filtering 305 to identify a source transmitter unit(or potentially more than one likely transmitter units). The decoder mayperform a cross-correlation operation on the received signal samples,correlating against stored template data representative of the signatureof a transmitter unit in the reduced shortlist. It may do this for eachtransmitter unit in the reduced shortlist. This is a relativelyprocessing intensive step, so the earlier temporal filtering 303 andspatial filtering 304 serve to reduce the time and power of the decodingstep 305. A respective correlation coefficient may be determined foreach transmitter unit in the reduced shortlist, which is a decodinglikelihood value representing a likelihood of the respective transmitterunit being the source of the received signal, based on the decodingconfidence.

The decoding filtering may always select the one transmitter unit havingthe highest decoding likelihood value to be the identified sourcetransmitter unit, optionally so long as the likelihood value is above aminimum threshold value, or it may potentially select a set of one ormore transmitter units having a decoding likelihood above a threshold.

Although some embodiments might combine the temporal, spatial anddecoding filtering into a single step (e.g. by multiplying thelikelihood values generated by all three steps together, for eachtransmitter unit in the system), applying the temporal and spatialfiltering before starting the decoding step 305 can providecomputational benefits.

If a minimum likelihood threshold is applied at any of the temporal,spatial and decoding filtering steps 303-305, that none of thetransmitter units meets, the decoding of that signal may be aborted,with the process cycling round to detect the next incoming signal 301.

Assuming one transmitter unit passes through all three filtering steps303-305, a time-of-flight range value for the signal, based on thistransmitter unit being the source of the signal, is added 306 to abuffer of range values, along with the identity or coordinates of thetransmitter unit. If more than one transmitter unit passes thefiltering, multiple range values may be added 306 to the buffer,assuming each transmitter unit is the source. An associated confidencelevel may be stored with each range value—e.g. being the product of thetemporal, spatial and decoding likelihood values. A time stamp may alsobe stored—e.g. the time of arrival of the signal. The decoder may beconfigured to determine a more accurate time of arrival than the energydetector in step 302, e.g. based on a peak location in across-correlation operation, which may be used to calculate an updatedToF range value to use in the subsequent positioning algorithm.

A new position estimation for the mobile device 7 is then calculated 307by solving a geometric minimisation problem (so long as the buffercontains a minimum number of range values—e.g. containing values for atleast three different transmitter units 2-5).

In an unsynchronized system, it is not possible to calculate ToF rangevalues, but instead the arrival times of signatures from differenttransmitter units 2-5 may be buffered and used to solve a minimisationproblem based on time-difference-of-arrival TDoA positioning.

The confidence level and age of each buffered range value may be used toweight values differently in the positioning algorithm—e.g. to give moreweight to newer and/or more confident range values. Old range data maybe discarded from the buffer, or be given a lower weighting based on itsage. Similarly, the algorithm may use likelihood information to weightthe range data according to a confidence in the accuracy of theassignment of the range to a particular transmitter unit.

The position estimation algorithm solves a linear optimisation problem(e.g. a weighted least-squares regression), relating to the intersectionof spheres (or of hyperboloids if using TDOA positioning). The positionestimation algorithm solves the optimisation problem to determine a newposition estimate. It does this by finding a position that minimises acost function (i.e. an objective function).

The cost function, J, may take the following form:

${J\left( {{r;{r\_{tx}_{i}}},{R\_{tof}_{i}}} \right)} = \frac{\sum{w_{i}\left( {\left( {r - {r\_{tx}_{i}}} \right)^{2} - {R\_{tof}_{i}^{2}}} \right)}}{\sum{{rel}\_ w_{i}}}$

where:

-   -   r is the new position estimate (in two- or three-dimensional        space),    -   r_tx_(i) is the 2D or 3D position of the transmitter unit i, and    -   R_tof_(i) is the most recent time-of-flight range measured        between the mobile device and the particular transmitter unit i.

Each transmitter unit i is given a weighting, w_(i). The weight, w_(i),may include an absolute component, e.g. which depends on the variance ofthe measurements for a single transmitter unit i. It may also include arelative component, rel_w_(i), which may represent a confidence in therange value for the transmitter unit i relative to the other transmitterunits. This confidence may be based on the filtering likelihoods and theage of the most recent range value in the buffer for that transmitterunit. The cost function is normalised for the relative weights,rel_w_(i), but not for the absolute weight components. This is becausethe absolute component (e.g. variance in the measurements) indicates howreliable each transmitter unit is, so should be taken into accountglobally in the cost function, whereas the relative weights onlyindicate which transmitter units are trusted more relative to the othertransmitter units, not the reliability of the measurements in anabsolute sense. In some embodiments, older range values for the sametransmitter unit could be included, albeit with a lower weighting due toage.

The new position estimate is then processed 308 as desired. It may beused to control a function on the mobile device 7. It may becommunicated to the server 9, e.g. over a BLE link.

The new position estimate may be combined with data from an inertialmeasurement unit (IMU) or other sensors, such as velocity data or otherposition estimates. It may be smoothed using previously determinedposition estimates. It may be input to a Kalman filter module togenerate improved position data. This Kalman filter module may combineacoustic-based position estimates with data from other sensors, such asaccelerometers, to improve accuracy even further.

The new position estimate (optionally after such post-processing) may bedisplayed 304 on a map, which could be shown on a screen of the device 7or of a remote device—e.g. of a client computer connected to the server9. Of course, this display step is not always required, and the positionestimate may be used in other ways instead—e.g. simply being stored inmemory for future potential use, or being processed to check if apreconfigured geo-fence has been crossed, or to give audible navigationcues to the user 6, or to display location-dependent advertising on themobile device 7.

A time series of position estimates r_(n) may be generated on anon-going basis by looping the process back to the receiving step 301,this time using the latest ultrasound-based position estimate in thespatial filtering 304 (i.e. setting r_mobile_(n=)r_((n−1)) for eachiteration n), rather than the initial BLE-based estimate, possiblycombined with other sources of information. Because the spread in thesuccessive position estimates r_(n) should be lower than for the initialBLE-based estimate, the spatial distribution variance var_eff can be setlower, resulting in the number of shortlisted source transmitter unitspotentially being reduced dynamically. If an error estimate (orconfidence value) for the latest ultrasound-based position estimate isavailable, this may be used in the subsequent spatial filtering 304step.

There is a risk, when centering each successive spatial filter on anearlier ultrasound-derived position estimates, that a positiveconfirmation cycle arises that allows significant errors to grow in thetracking. To avoid this, the controller 205 may be configured only toseed each spatial filter with the latest ultrasound-based positionestimate if the latest ultrasound-based position estimate, r_mobile_US,is consistent with a recently-obtained BLE-based position estimate,r_mobile_BLE—e.g. if it lies within an error ellipse centred onr_mobile_BLE with size spread_constant×r_(k)_mobile_BLE_spread in eachdimension k, where the spread constant is typically a scalar value inthe range one to four and r_(k)_mobile_BLE_spread is a vectorrepresenting the uncertainty in r_mobile_BLE in the dimension k. Toenable this check to be performed, the mobile device 7 can continue togenerate new BLE-based position estimates at intervals, in parallel withtracking the position of the mobile device 7 primarily using receivedultrasound signals. If the ultrasound-derived position estimate lies toofar away from the BLE-based estimate, the positioning process may setr_mobile equal to the latest BLE-based estimate in the next cycle.

Note that the z height coordinate may be ignored in the abovealgorithms, since z resolution from indoor BLE RSS signals is typicallypoor.

Although the steps are shown sequentially here, it will be appreciatedthat at least some of them may be performed in parallel, e.g. with theoutput of the microphone 204 being sampled continually to detect newlocating signals even as the position estimation algorithm is generatingan updated position estimate.

As already noted, the use of BLE, in particular, to help resolveambiguity in the identity of the source ultrasonic transmitter unit isnot essential, and other positioning techniques could be used instead todetermine an initial position estimate, such as other radio positioningtechniques, or optical positioning, or a user input, or an IMU which hasaccess to a plurality of sensors, including magnetic sensors and/orgyroscopes, etc.

It will be appreciated by those skilled in the art that the inventionhas been illustrated by describing one or more specific embodimentsthereof, but is not limited to these embodiments; many variations andmodifications are possible, within the scope of the accompanying claims.

1. A method of determining a position estimate for a mobile device, themethod comprising: receiving a first position estimate for a mobiledevice; receiving an acoustic signal at the mobile device, wherein theacoustic signal is transmitted by one of a plurality of acoustictransmitter units that are each transmitting respective acoustic signalsat intervals; for each of the plurality of acoustic transmitter units,determining spatial likelihood data representative of a likelihood ofthe received acoustic signal having been transmitted by the respectiveacoustic transmitter unit by comparing i) a time-of-flight range value,determined from a time of arrival of the received acoustic signal at themobile device and scheduling data representative of a time oftransmission of an acoustic signal by the respective acoustictransmitter unit, with ii) a geometric distance value, representative ofa distance between the respective acoustic transmitter unit and thefirst position estimate; using the spatial likelihood data to identify astrict subset of one or more of the plurality of acoustic transmitterunits; and using information relating to the positions of the acoustictransmitter units in the identified subset and/or relating to theacoustic signals transmitted by the acoustic transmitter units in theidentified subset when determining a second position estimate for themobile device.
 2. The method of claim 1, wherein each acoustictransmitter unit in the identified subset has a higher likelihood ofhaving transmitted the acoustic signal received by the mobile devicethan at least one acoustic transmitter unit, of the plurality ofacoustic transmitter units, that is not in the identified subset.
 3. Themethod of claim 1, wherein, after the subset has been identified, thesecond position estimate is determined without using informationrelating to the position of any of the acoustic transmitter units thatis not in the identified subset and without using information relatingto the acoustic signals transmitted by any of the acoustic transmitterunits that is not in the identified subset.
 4. The method of claim 1,comprising determining the spatial likelihood data for each acoustictransmitter unit by comparing the respective time-of-flight range valuewith a respective statistical distribution, representative of likelihoodagainst range, that has an expected value equal to the geometricdistance value for the respective acoustic transmitter unit.
 5. Themethod of claim 1, wherein the first position estimate is determined atleast in part using one or more electromagnetic or magnetic signalsreceived or transmitted by the mobile device.
 6. (canceled)
 7. Apositioning system comprising a processing system configured: to receivea first position estimate for a mobile device; to receive datarepresentative of an acoustic signal received by the mobile device fromone of a plurality of acoustic transmitter units that are configured totransmit respective acoustic signals at intervals; for each of theplurality of acoustic transmitter units, to determine spatial likelihooddata representative of a likelihood of the received acoustic signalhaving been transmitted by the respective acoustic transmitter unit bycomparing i) a time-of-flight range value, determined from a time ofarrival of the received acoustic signal at the mobile device andscheduling data representative of a time of transmission of an acousticsignal by the respective acoustic transmitter unit, with ii) a geometricdistance value, representative of a distance between the respectiveacoustic transmitter unit and the first position estimate; to processthe spatial likelihood data to identify a strict subset of one or moreof the plurality of acoustic transmitter units; and to processinformation relating to the positions of the acoustic transmitter unitsin the identified subset and/or relating to the acoustic signalstransmitted by the acoustic transmitter units in the identified subsetto determine a second position estimate for the mobile device.
 8. Thepositioning system of claim 7, further comprising: the plurality ofacoustic transmitter units; and the mobile unit.
 9. The positioningsystem of claim 7, wherein the mobile unit comprises the processingsystem.
 10. The positioning system of claim 7, wherein the processingsystem is configured to identify the strict subset such that eachacoustic transmitter unit in the identified subset has a higherlikelihood of having transmitted the acoustic signal received by themobile device than at least one acoustic transmitter unit, of theplurality of acoustic transmitter units, that is not in the identifiedsubset.
 11. The positioning system of claim 7, wherein the processingsystem is configured to determine the second position estimate, afteridentifying the subset of one or more acoustic transmitter units,without using information relating to the position of any of theacoustic transmitter units that is not in the identified subset andwithout using information relating to the acoustic signals transmittedby any of the acoustic transmitter units that is not in the identifiedsubset.
 12. The positioning system of claim 7, wherein the processingsystem is configured to determine the spatial likelihood data for eachacoustic transmitter unit by comparing the respective time-of-flightrange value with a respective statistical distribution, representativeof likelihood against range, that has an expected value equal to thegeometric distance value for the respective acoustic transmitter unit.13. (canceled)
 14. The positioning system of claim 12, wherein theprocessing system is configured to control the variance of thestatistical distribution in dependence on any one or more of: thetime-of-flight range value; data representative of an uncertainty in thefirst position estimate; and data representative of a difference betweenthe first position estimate when the first position estimate has beendetermined without using acoustic signals and a position estimatedetermined using one or more acoustic signals received by the mobiledevice.
 15. The positioning system of claim 7, wherein the processingsystem is configured to determine temporal likelihood data for each of asecond plurality of the acoustic transmitter units that are configuredto transmit respective acoustic signals at intervals, wherein thetemporal likelihood data depends on i) a time of arrival of the receivedacoustic signal at the mobile device and ii) scheduling datarepresentative of a time of transmission of an acoustic signal by therespective acoustic transmitter unit, but does not depend on a positionestimate for the mobile device, and wherein the temporal likelihood datais representative of a likelihood of the received acoustic signal havingbeen transmitted by a respective acoustic transmitter unit. 16.(canceled)
 17. The positioning system of claim 7, wherein the acousticsignals transmitted by the plurality of acoustic transmitter unitsencode respective identification data for the respective acoustictransmitter unit, and wherein the processing system is configured todecode the received acoustic signal using respective identification dataassociated with each of the acoustic transmitter units in the identifiedsubset.
 18. The positioning system of claim 7, wherein the processingsystem is configured to determine the second position estimate bysolving a geometric optimisation problem involving the positions of oneor more of the plurality acoustic transmitter units.
 19. The positioningsystem of claim 7, comprising an electromagnetic or magnetic transmitteror receiver unit configured to transmit or receive electromagnetic ormagnetic signals, wherein the mobile device is configured to receive ortransmit the electromagnetic or magnetic signals, and wherein theprocessing system is configured to determine the first position estimateat least in part using one or more electromagnetic or magnetic signalssent between the electromagnetic or magnetic transmitter or receiverunit and the mobile device.
 20. The positioning system of claim 19,comprising the plurality of acoustic transmitter units, wherein one ormore of the plurality of acoustic transmitter units comprises arespective electromagnetic or magnetic transmitter or receiver unitconfigured to transmit or receive electromagnetic or magnetic signalsfor determining the first position estimate for the mobile device. 21.(canceled)
 22. The positioning system of claim 7, wherein the processingsystem is configured to determine a succession of two or more positionestimates over time, by processing acoustic signals received by themobile device, and is configured to determine spatial likelihood datawhen determining each successive position estimate by comparing arespective time-of-flight range value with a respective geometricdistance value that is representative of a distance between a respectiveacoustic transmitter unit and an immediately preceding position estimatein the succession of two or more position estimates.
 23. The positioningsystem of claim 7, comprising the mobile unit or one or more of theplurality of acoustic transmitter units, wherein the acoustic signalsare ultrasonic signals.
 24. (canceled)
 25. A non-transitorycomputer-readable storage medium storing computer software comprisinginstructions that, when executed by a processing system, cause theprocessing system: to receive a first position estimate for a mobiledevice; to receive data representative of an acoustic signal received bythe mobile device from one of a plurality of acoustic transmitter unitsthat are configured to transmit respective acoustic signals atintervals; for each of the plurality of acoustic transmitter units, todetermine spatial likelihood data representative of a likelihood of thereceived acoustic signal having been transmitted by the respectiveacoustic transmitter unit by comparing i) a time-of-flight range value,determined from a time of arrival of the received acoustic signal at themobile device and scheduling data representative of a time oftransmission of an acoustic signal by the respective acoustictransmitter unit, with ii) a geometric distance value, representative ofa distance between the respective acoustic transmitter unit and thefirst position estimate; to process the spatial likelihood data toidentify a strict subset of one or more of the plurality of acoustictransmitter units; and to process information relating to the positionsof the acoustic transmitter units in the identified subset and/orrelating to the acoustic signals transmitted by the acoustic transmitterunits in the identified subset to determine a second position estimatefor the mobile device.